/*
 * XML Type:  XActionConfig
 * Namespace: http://www.seedwill.com/xul/core
 * Java type: com.seedwill.xul.core.XActionConfig
 *
 * Automatically generated - do not modify.
 */
package com.seedwill.xul.core.impl;
/**
 * An XML XActionConfig(@http://www.seedwill.com/xul/core).
 *
 * This is a complex type.
 */
public class XActionConfigImpl extends com.seedwill.xul.core.impl.XIdentifiedImpl implements com.seedwill.xul.core.XActionConfig
{
    private static final long serialVersionUID = 1L;
    
    public XActionConfigImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName ACTIONNAMESPACE$0 = 
        new javax.xml.namespace.QName("", "actionNamespace");
    private static final javax.xml.namespace.QName ACTIONNAME$2 = 
        new javax.xml.namespace.QName("", "actionName");
    private static final javax.xml.namespace.QName ACTIONMETHOD$4 = 
        new javax.xml.namespace.QName("", "actionMethod");
    private static final javax.xml.namespace.QName ACTIONPARA$6 = 
        new javax.xml.namespace.QName("", "actionPara");
    
    
    /**
     * Gets the "actionNamespace" element
     */
    public java.lang.String getActionNamespace()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACTIONNAMESPACE$0, 0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "actionNamespace" element
     */
    public org.apache.xmlbeans.XmlString xgetActionNamespace()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(ACTIONNAMESPACE$0, 0);
            return target;
        }
    }
    
    /**
     * Sets the "actionNamespace" element
     */
    public void setActionNamespace(java.lang.String actionNamespace)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACTIONNAMESPACE$0, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(ACTIONNAMESPACE$0);
            }
            target.setStringValue(actionNamespace);
        }
    }
    
    /**
     * Sets (as xml) the "actionNamespace" element
     */
    public void xsetActionNamespace(org.apache.xmlbeans.XmlString actionNamespace)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(ACTIONNAMESPACE$0, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(ACTIONNAMESPACE$0);
            }
            target.set(actionNamespace);
        }
    }
    
    /**
     * Gets the "actionName" element
     */
    public java.lang.String getActionName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACTIONNAME$2, 0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "actionName" element
     */
    public org.apache.xmlbeans.XmlString xgetActionName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(ACTIONNAME$2, 0);
            return target;
        }
    }
    
    /**
     * Sets the "actionName" element
     */
    public void setActionName(java.lang.String actionName)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACTIONNAME$2, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(ACTIONNAME$2);
            }
            target.setStringValue(actionName);
        }
    }
    
    /**
     * Sets (as xml) the "actionName" element
     */
    public void xsetActionName(org.apache.xmlbeans.XmlString actionName)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(ACTIONNAME$2, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(ACTIONNAME$2);
            }
            target.set(actionName);
        }
    }
    
    /**
     * Gets the "actionMethod" element
     */
    public java.lang.String getActionMethod()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACTIONMETHOD$4, 0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "actionMethod" element
     */
    public org.apache.xmlbeans.XmlString xgetActionMethod()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(ACTIONMETHOD$4, 0);
            return target;
        }
    }
    
    /**
     * True if has "actionMethod" element
     */
    public boolean isSetActionMethod()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(ACTIONMETHOD$4) != 0;
        }
    }
    
    /**
     * Sets the "actionMethod" element
     */
    public void setActionMethod(java.lang.String actionMethod)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(ACTIONMETHOD$4, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(ACTIONMETHOD$4);
            }
            target.setStringValue(actionMethod);
        }
    }
    
    /**
     * Sets (as xml) the "actionMethod" element
     */
    public void xsetActionMethod(org.apache.xmlbeans.XmlString actionMethod)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(ACTIONMETHOD$4, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(ACTIONMETHOD$4);
            }
            target.set(actionMethod);
        }
    }
    
    /**
     * Unsets the "actionMethod" element
     */
    public void unsetActionMethod()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(ACTIONMETHOD$4, 0);
        }
    }
    
    /**
     * Gets array of all "actionPara" elements
     */
    public com.seedwill.xul.core.XPara[] getActionParaArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(ACTIONPARA$6, targetList);
            com.seedwill.xul.core.XPara[] result = new com.seedwill.xul.core.XPara[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "actionPara" element
     */
    public com.seedwill.xul.core.XPara getActionParaArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.seedwill.xul.core.XPara target = null;
            target = (com.seedwill.xul.core.XPara)get_store().find_element_user(ACTIONPARA$6, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "actionPara" element
     */
    public int sizeOfActionParaArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(ACTIONPARA$6);
        }
    }
    
    /**
     * Sets array of all "actionPara" element
     */
    public void setActionParaArray(com.seedwill.xul.core.XPara[] actionParaArray)
    {
        synchronized (monitor())
        {
            check_orphaned();
            arraySetterHelper(actionParaArray, ACTIONPARA$6);
        }
    }
    
    /**
     * Sets ith "actionPara" element
     */
    public void setActionParaArray(int i, com.seedwill.xul.core.XPara actionPara)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.seedwill.xul.core.XPara target = null;
            target = (com.seedwill.xul.core.XPara)get_store().find_element_user(ACTIONPARA$6, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(actionPara);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "actionPara" element
     */
    public com.seedwill.xul.core.XPara insertNewActionPara(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.seedwill.xul.core.XPara target = null;
            target = (com.seedwill.xul.core.XPara)get_store().insert_element_user(ACTIONPARA$6, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "actionPara" element
     */
    public com.seedwill.xul.core.XPara addNewActionPara()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.seedwill.xul.core.XPara target = null;
            target = (com.seedwill.xul.core.XPara)get_store().add_element_user(ACTIONPARA$6);
            return target;
        }
    }
    
    /**
     * Removes the ith "actionPara" element
     */
    public void removeActionPara(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(ACTIONPARA$6, i);
        }
    }
}
